home *** CD-ROM | disk | FTP | other *** search
- The Linux Reading List HOWTO
- by Eric S. Raymond
- 1.2, 29 November 1997
-
- This document lists the book I think are most valuable to a person
- trying to learn Unix (especially Linux) top to bottom.
-
- 1. Introduction
-
- 1.1. Purpose of this document
-
- This document lists what I consider to be the essential book-length
- references for learning Unix (especially Linux) and how to program
- under it.
-
- 1.2. New versions of this document
-
- New versions of the Linux Reading List HOWTO will be periodically
- posted to comp.os.linux.answers. They will also be uploaded to
- various Linux WWW and FTP sites, including the LDP home page.
-
- You can also view the latest version of this on the World Wide Web via
- the URL <http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html>.
-
- 1.3. Feedback and Corrections
-
- If you have questions or comments about this document (or just want to
- suggest a book that you think should be on it), please feel free to
- mail Eric S. Raymond, at esr@thyrsus.com. I welcome any suggestions or
- criticisms.
-
- 1.4. Related Resources
-
- For on-line HOWTOs, magazines, and other non-book material, see the
- Linux Documentation Project home page
- <http://sunsite.unc.edu/LDP/HOWTO>.
-
- Some years ago I wrote a less Linux-focused Unix bibliography that may
- still be of some interest and retains a certain amusement value. You
- can find the Loginataka at
- <http://www.ccil.org/~esr/faqs/loginataka.html>.
-
- 1.5. Conventions Used In This Document
-
- Comments not in quotes below are either mine, or I have seen no reason
- to change them from those of Jim Haynes (previous maintainer of this
- document). Comments sent in by others are in quotes, and have the
- name of the commentator before them (JH is Jim Haynes).
-
- "See" URLs attached to publishing information point directly into the
- publisher's web catalog and typically take you to a page containing a
- cover shot, blurbs, and ordering information. Books that don't have
- these lack them because the publisher is using frames and the catalog
- pages can't be bookmarked.
-
- Topic listings go roughly from the outside in (culture to user-land
- programming to kernel programming to hardware). Within sections I
- have tried to list the most useful books first insofar as I am
- familiar with them. It's just an embarrassing coincidence that this
- lists one of my books first, honest! (Suggestions for a better
- organization cheerfully accepted.)
- 2. Books on Culture, History, and Pragmatics
-
- The New Hacker's Dictionary (Third Edition)
- Raymond, Eric S.; MIT Press; 1996; ISBN 0-262-68092-0; 547pp.
- See <http://www-mitpress.mit.edu/book-
- home.tcl?isbn=0262680920>.
-
- Um, er. A guide to Internet culture. Lots of people like it.
- HTML at the Jargon File Resource Page <http://www.ccil.org>.
-
- A Quarter Century of Unix
- Salus, Peter H.; Addison-Wesley; 1994; ISBN 0-201-54777-5;
- 256pp.
- See <http://www.awl.com/cp/authors/salus/unix/unix.html>
-
- Linux is part of the Unix tradition. This book is an oral
- history of Unix -- how it originated, how it evolved, how it
- spread -- by the people who were there.
-
- The Mythical Man Month (Anniversary Edition)
- Brooks, Frederick P.; Addison-Wesley 1995 (ISBN 0-201-83595-9).
- See <http://heg-school.awl.com/cseng/authors/brooks/mmm-ae/mmm-
- ae.html>.
-
- The one book on software engineering that everyone should read.
-
- Alan Cox: "This I'd recommend not for its technical value but
- for its application of common sense and reality to computing
- projects." JH: "Ah, yes. What if Linus had been given 200
- programmers and had been told to produce Linux in 3 months!"
-
- Bell System Technical Journal, July-August 1978, Vol. 57, No. 6,
- part 2
- AT&T; 416 pp.
-
- Many early papers on Unix, including Ritchie & Thompson, "The
- UNIX Time Sharing System"; Thompson, "UNIX Implementation";
- Ritchie, "A Retrospective"; Bourne, "The UNIX Shell"...
-
- 3. Books on General Unix/Linux
-
- 3.1. Linux Installation and Administration
-
- Linux Installation and Getting Started
- Welsh, Matt; LDP; 1997. Available on the LDP home page, or
- directly at <http://sunsite.unc.edu/LDP/gs>.
-
- How to bring up Linux. Explains a lot of Linux basics. Covers
- basic system administration.
-
- Linux System Administtrator's Guide
- Wirzenius, Lars; LDP; 1997. Available on the LDP home page, or
- directly at <http://sunsite.unc.edu/LDP/sag>.
-
- An excellent first book on how to maintain and administer a
- Linux system.
-
- Essential System Administration (Second Edition)
- Frisch, Aeleen; O'Reilly; 1995; ISBN 0-937175-80-3; 788 pp;
- $32.95.
- See <http://www.ora.com/catalog/esa2/noframes.html>.
-
- More in-depth coverage of normal system-administration tasks.
- Not Linux-specific but contains Linux material.
-
- 3.2. Using Unix & Linux
-
- Linux in a Nutshell
- Hekman, Jessica P. et al.; O'Reilly; 1997; ISBN 1-56592-167-4;
- 438 pp. $9.95.
- See <http://www.ora.com/catalog/linuxnut/noframes.html>.
-
- According to O'Reilly, "The Desktop Reference for Linux". For
- Linux users this obsoletes their "Unix In a Nutshell" which was
- SVr4/Solaris-oriented.
-
- Running Linux (Second Edition)
- Welsh, Matt, & Kaufman, Lar; O'Reilly; ISBN 1-56592-151-8; 1996;
- 650pp; $24.95.
- See <http://www.ora.com/catalog/runux2/noframes.html>.
-
- Everything you need in order to understand, install, and use the
- Linux operating system. Excellent beginner's book.
-
- 3.3. System Security
-
- Practical Unix Security
- Garfinkel, Simpson, and Spafford, Gene; O'Reilly Associates;
- ISBN 0-56592-148-8; 1991.
- See <http://www.ora.com/catalog/puis/noframes.html>.
-
- Ronald P. Miller: "Some overlap with Essential System Admin.,
- but all in all a solid book on security, especially for those
- aspiring to allow multiple-user, dial-up/net access to their
- Linux boxes."
-
- Firewalls & Internet Security
- Cheswick, William R. & Bellovin, Steven M.; Addison-Wesley;
- 1994; ISBN 0-201-63357-4; 320pp.
- See <http://www.awl.com/cp/Ches.html>.
-
- 4. Books on Shell, Script, and Web Programming
-
- Programming Perl (Second Edition)
- Wall, Larry & Christiansen, Tom & Schwartz, Randal; O'Reilly;
- 1997; ISBN 0-56592-149-6; 644pp.
- See <http://www.ora.com/catalog/pperl2/noframes.html>.
-
- Shell (as a programming language for more than trivial
- scripting) is dead. Perl rules in its place. This is the
- second edition of the definitive Perl book -- vastly better
- organized than the first, and it covers Perl 5.
-
- Programming Python
- Lutz, Mark; O'Reilly; 1997; ISBN 0-56592-197-6; 880pp.
- See <http://www.ora.com/catalog/python/noframes.html>.
-
- The next step beyond Perl. Python is beautifully designed, has
- better integration with C, and scales up better to large
- projects.
-
- HTML: The Definitive Guide (2nd Edition)
- Musciano, Chuck & Kennedy. Bill; O'Reilly; 1997; ISBN
- 0-56592-235-2; 552pp.
- See <http://www.ora.com/catalog/html2/noframes.html>.
-
- The best HTML tutorial/reference I have ever seen, and the only
- HTML book you need unless you want to do CGI.
-
- The Unix Programming Environment
- Kernighan, Brian, and Pike, Rob; Prentice-Hall; 1984; ISBN
- 0-13-937681-X; 1984.
-
- A true classic -- possibly the best single-book exposition of
- the Unix philosophy.
-
- 5. Books on Text Formatting
-
- 5.1. Tex and LaTeX
-
- The LaTeX Companion
- Goossens, Michael & Mittlebach, Frank, & Samarin, Alexander;
- Addison-Wesley; 1994; ISBN 0-201-54199-8; 530pp.
- See <http://www.awl.com/cp/tlc.html>.
-
- `If you are one of those users who would like to know how LaTeX
- can be extended to create the nicest documents possible without
- becoming a (La)TeX guru, then this book is for you' --- from the
- Preface. Bruce Thompson adds: "A very nice book providing a lot
- of information about the new extensions to LaTeX, provides a
- large number of examples showing precisely how your document's
- layout can be manipulated"
-
- LaTeX: A Document Preparation System (Second Edition)
- Lamport, Leslie; Addison-Wesley; 1994; ISBN 0-201-52983-1;
- 256pp.
- See <http://heg-
- school.awl.com/cseng/authors/lamport/latex/latex.html>.
-
- Bruce Thompson: "The ultimate reference on LaTeX 2.09 by its
- author. A new edition covering LaTeX2e (the version included in
- the current TeX/LaTeX distribution) is in preparation. LaTeX
- 2.09 is fully supported by LaTeX2e. A must for anyone wanting
- to use LaTeX. Provides a gentle introduction to document
- preparation and the various tools that LaTeX provides for
- producing professional quality documents. Lots of examples."
-
- The TeXbook, Volume A of Computers and Typesetting; Knuth, Donald
- A.
- Addison-Wesley; 1986, ISBN 0-201-13448; 496pp. See
- <http://www.awl.com/cp/TeXbook.html>
- Bruce Thompson: "The definitive user's guide and complete
- reference manual for TeX. Probably not needed for casual LaTeX
- use, but a fascinating book nonetheless." I'll strengthen that
- by adding that this book is not for the faint of heart.
-
- The METAFONT book, Volume C of Computers and Typesetting
- Knuth, Donald A.; Addison-Wesley; 1986; 0-201-13444-6, 1986;
- 384pp.
- See <http://www.awl.com/cp/METAFONTbook.html>
-
- Bruce Thompson: "The definitive user's guide and reference
- manual for METAFONT, the companion program to TeX for designing
- fonts. An excellent work if you're planning to design your own
- fonts for use in TeX and LaTeX. METAFONT is included with the
- normal TeX/LaTeX distribution." This book is definitely not for
- the faint of heart.
-
- 6. Books on C and C++ Programming
-
- 6.1. C and C++
-
- The C Programming Language (Second Edition)
- Kernighan, Brian W.; Ritchie, Dennis M; Prentice-Hall; 1988;
- ISBN 0-13-110362-8, 272pp.
-
- The improved second edition, covering ANSI C, of the original
- classic C book coauthored by C's designer, "K&R". Still the
- best!
-
- Who's Afraid of C++?
- Heller, Steve; Academic Press; 1996; ISBN 0-12-339097; 508pp.
-
- The best introductory book on C++ I have seen.
-
- 6.2. C System Call Interface
-
- POSIX Programmer's Guide: Writing Portable Unix Programs
- Lewine, Donald; O'Reilly; 1992; ISBN 0-937175-73-0; 607pp.
- See <http://www.ora.com/catalog/posix/noframes.html>.
-
- An excellent programmer's reference on the POSIX.1 standard. I
- like this one better than JH's choice.
-
- The Posix.1 Standard: A Programmer's Guide
- Zlotnick, Fred; Benjamin/ Cummings; 1991; ISBN 0-8053-9605-5;
- 379pp.; $35.95 (USA).
-
- JH: "When I complained about the lack of Section 2 man pages in
- Linux, somebody told me just to get a POSIX book, because that's
- what Linux does. I like this book because I'm not a
- professional programmer and the author gives copious
- explanations and examples."
-
- 7. Books on Networking
-
- Unix Network Programming
- Stevens, W. Richard; Prentice Hall; 1990; ISBN 0-13-949876-1;
- 772 pp.; $54 (USA).
-
- Everything you might want to know about the subject, and some
- things you probably didn't want to know (really, XNS!?).
- Generally regarded as definitive on the basics, though it's pre-
- Web.
-
- Linux Network Administrator's Guide
- Kirch, Olaf; O'Reilly; 1995; ISBN 1-56592-087-2; 335pp.
- See <http://www.ora.com/catalog/linag/noframes.html>.
-
- A practical guide to Linux's TCP/IP and related services.
- Accessible on the Web at the Linux Documentation Project page,
- or directly at <http://sunsite.unc.edu/LDP/LDP/nag/nag.html>.
-
- TCP/IP Network Adminstration
- Hunt, Craig; O'Reilly Associates, ISBN 0-937175-82-X; 1992;
- 472pp.
- See <http://www.ora.com/catalog/tcp2/noframes.html>.
-
- Less Linux-specific than the Kirch book. Features deeper
- coverage of the TCP/IP core, including routing and BGP.
-
- DNS and BIND (Second Edition)
- Albitz, Paul, and Liu, Cricket; O'Reilly; 1996; ISBN
- 1-56592-236-0; 1992; 438pp; $32.95.
- See <http://www.ora.com/catalog/dns2/noframes.html>.
-
- In-depth coverage of DNS, useful for people running complicated
- multiple-subnet installations. Covers BIND library programming.
-
- Sendmail (Second Edition)
- Costales, Bryan & Allman, Eric; O'Reilly; ISBN 1-56592-222-0;
- 1997; 1050 pp; $32.95
- See <http://www.ora.com/catalog/sendmail2/noframes.html>.
-
- An exhaustive (and exhausting) guide to Linux's and Unix's
- default mail-transfer agent.
-
- 8. Books on Unix Kernel Implementation
-
- 8.1. Ancestors of Linux
-
- The Design of the Unix Operating System
- Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60
- (USA).
-
- The book that got Linus started.
-
- Operating Systems, Design and Implementation;
- Tanenbaum, Andrew S.; Prentice-Hall; 1987.
-
- Alan Cox (one of the core kernel people) likes this book.
- Tanenbaum designed Minix, which is the system Linus bootstrapped
- Linux up from.
-
- 8.2. Linux
-
- Linux Kernel Hackers' Guide
- Johnson, Michael K.
-
- Accessible on the Web at the Linux Documentation Project page,
- or directly at
-
- LINUX Kernel Internals
- Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich
- & Magnus, Robert & Verworner, Dick; Addison Wesley; 1996; ISBN:
- 0-201-87741-4; 480pp.
- See <http://heg-
- school.awl.com/cseng/authors/beck.m/linux/linux.html>.
-
- A guide to Linux kernel programming; covers 1.2, slightly out of
- date now.
-
- 8.3. Relatives of Linux
-
- The Design and Implementation of the 4.4BSD Unix Operating System
- McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and
- Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4;
- 608pp.
- See <http://heg-
- school.awl.com/cseng/authors/mckusick/4.4bsd/4.4bsd.html>.
-
- The successor to a classic book on the implementation of the 4.3
- BSD kernel, which influenced Linux's design (especially near
- sockets and networking). This book covers the 4.4BSD base of
- BSD/OS, FreeBSD, and NetBSD.
-
- Porting Unix to the 386; Jolitz, William F., and Jolitz, Lynne G.
- Dr. Dobb's Journal; Jan 1991-July 1992.
-
- 9. Books on Intel processor architecture and programming
-
- 80386 Programmer's Reference Manual
- Intel Corp.; ISBN 1-55512-022-9; 1986;
-
- Part I. Applications Programming, data types, memory model,
- instruction set. Part II. Systems Programming, architecture,
- memory management, protection, multitasking, I/O, exceptions and
- interrupts, initialization, coprocessing and multiprocessing.
- Part III. Compatibility (with earlier x86 machines). Part IV.
- Instruction Set.
-
- 80386 System Software Writer's Guide
- Intel Corp.; ISBN 1-55512-023-7; 1987.
-
- This explains the 386 features for operating system writers. It
- includes a chapter on Unix implementation. A lot of the 80386
- architecture seems to have been designed with Multics in mind;
- the features are not used by DOS or by Unix.
-
- Programming the 80386
- Crawford, John H & Gelsinger, Patrick P.; Sybex; ISBN
- 0-89588-381-3; 774pp.; $26.95 (USA).
-
- This is the book the Jolitzes used when they ported BSD to the
- 386 architecture.
-
- Pentium Processor User's Manual: Volume 3, Architecture and Pro¡
- gramming
- Manual" Intel Corp.; 1993; ISBN 1-55512-195-0;
-
- Pretty much the Pentium version of the 80386 Programmer's manual
- listed above.
-
- 10. Books on PC-Class Hardware
-
- Note: these books are four or five years old and possibly out of date.
- I don't really grok hardware...
-
- 80386 Hardware Reference Manual
- Intel Corp.; 1986; ISBN 1-55512-024-5;
-
- Pin connections, timing, waveforms, block diagrams, voltages,
- all that kind of stuff.
-
- The Indispensable PC Hardware Book
- Messmer, Hans-Peter; Addison-Wesley; 1993; ISBN 0-201-62424-9;
- 1000 pp.
-
- JH: "Covers the more recent stuff like EIDE and PCI."
-
- 11. Administrivia
-
- 11.1. Terms of Use
-
- This document is copyright 1997 by Eric S. Raymond. You may use,
- disseminate, and reproduce it freely, provided you:
-
- ╖ Do not omit or alter this copyright notice.
-
- ╖ Do not omit or alter or omit the version number and date.
-
- ╖ Do not omit or alter the document's pointer to the current WWW
- version.
-
- ╖ Clearly mark any condensed, altered or versions as such.
-
- These restrictions are intended to protect potential readers from
- stale or mangled versions. If you think you have a good case for an
- exception, ask me.
-
- 11.2. History
-
- This was originally a mini-HOWTO maintained by Jim Haynes. I have
- changed the emphasis somewhat, trying to make it more a standalone
- document and less reliant on the various USENET bibliographic
- postings. The unattrbuted mini-reviews are mine rather than his.
-
-